package com.example.lib_base.utils

import android.content.Context
import com.alibaba.android.arouter.facade.Postcard
import com.alibaba.android.arouter.facade.annotation.Interceptor
import com.alibaba.android.arouter.facade.callback.InterceptorCallback
import com.alibaba.android.arouter.facade.template.IInterceptor
import com.alibaba.android.arouter.launcher.ARouter
import com.blankj.utilcode.util.SPUtils
@Interceptor(priority = 1)
class LoginInterceptor:IInterceptor {
    override fun init(context: Context?) {

        //初始化
    }

    override fun process(postcard: Postcard?, callback: InterceptorCallback?) {
        //处理要跳转的路由信息
        //登录拦截  在所有跳转界面 判断是否登录了 以及是否需要登录  如果需要登录但没有登录  跳转到登录界面   其他情况跳转到相应界面
        //除了登录界面不需要登录  其他界面均需要登录
        if("/user/LoginActivity".equals(postcard?.path)||"/user/LoginCodeActivity".equals(postcard?.path)||SPUtils.getInstance().getString("token").isNotEmpty()){
            //这是包括所有不需要登录的情况   两个登录界面  已经登录过了
            callback?.onContinue(postcard)
        }else{
            ARouter.getInstance().build("/user/LoginActivity").navigation()
        }
    }
}